package com.fg.cloud.manager.service.order;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.fg.cloud.common.PageUtils;
import com.fg.cloud.manager.entry.order.OrderReturnEntity;
import com.fg.cloud.manager.entry.order.vo.OrderReturnDetailVo;
import com.fg.cloud.manager.entry.order.vo.OrderReturnVo;

public interface OrderRefundsService {

	/**
	 * Description:退货单新增
	 * @param entity
	 * @return
	 * @author around
	 * @date 2017年9月6日上午10:51:11
	 */
	boolean insert(OrderReturnVo entity);
	
	/**
	 * Description:列表查询
	 * @param pageinfo
	 * @author around
	 * @date 2017年9月6日上午10:51:19
	 */
	void findList(PageUtils<OrderReturnEntity> pageinfo);

	/**
	 * Description:退货单详情查询
	 * @param id
	 * @param facId
	 * @param ageId
	 * @return
	 * @author around
	 * @date 2017年9月6日上午10:51:31
	 */
	OrderReturnVo find(Long id, Long facId, Long ageId);

	/**
	 * Description:修改
	 * @param entity
	 * @return
	 * @author around
	 * @date 2017年9月6日上午10:51:49
	 */
	boolean update(OrderReturnVo entity);

	/**
	 * Description:删除
	 * @param ids
	 * @param facId
	 * @param ageId
	 * @return
	 * @author around
	 * @date 2017年9月6日上午10:52:55
	 */
	boolean deletes(Long[] ids, Long facId, Long ageId);

	/**
	 * Description:提交
	 * @param usmap
	 * @return
	 * @author around
	 * @date 2017年9月6日上午10:52:12
	 */
	boolean confirm(OrderReturnEntity entity);

	/**
	 * 审核
	 * */
	boolean audit(OrderReturnEntity entity);
	
	/**
	 * Description:发货
	 * @param entity
	 * @return
	 * @author around
	 * @date 2017年9月6日上午10:46:19
	 */
	boolean delive(OrderReturnEntity entity);

	/**
	 * Description:收货
	 * @param entity
	 * @return
	 * @author around
	 * @date 2017年9月6日上午10:49:31
	 */
	boolean delivery(OrderReturnEntity entity);
	
	/**
	 * Description:退款
	 * @param entity
	 * @return
	 * @author around
	 * @date 2017年9月6日上午10:50:13
	 */
	boolean refund(OrderReturnEntity entity);

	/**
	 * Description:绑定选择订单下的商品，封装到退货单详情
	 * @param ids
	 * @return
	 * @author around
	 * @date 2017年9月6日下午11:18:54
	 */
	List<OrderReturnDetailVo> findByOrderId(@Param("ids")Long[] ids);
	
	//删除退货单相关记录（详情、日志、附件）
	boolean deleteRefunds(Long facId);
	
	
}
